home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
games
/
sakiba
/
source
/
pndata.c
< prev
next >
Wrap
Text File
|
2000-06-21
|
7KB
|
247 lines
/**************************************************
格闘シミュレーション「さきば」
キャラクタデータ(ペンギン)
**************************************************/
#include <stdio.h>
#include "sakiba.h"
#include "chranim.h"
/************************
スプライトパターン
************************/
static CODE walk0_l[] = {0x0000, 0x0010}; /* 通常 */
static CODE walk1_l[] = {0x0001, 0x0011};
static CODE walk2_l[] = {0x0002, 0x0012};
static CODE walk0_r[] = {0x0003, 0x0013};
static CODE walk1_r[] = {0x0004, 0x0014};
static CODE walk2_r[] = {0x0005, 0x0015};
static CODE rot0[] = {0x0006, 0x0016}; /* 回転 */
static CODE rot2[] = {0x0007, 0x0017};
static CODE smile_l[] = {0x0008, 0x0018}; /* 笑顔 */
static CODE smile_r[] = {0x0009, 0x0019};
static CODE win0[] = {0x000a, 0x001a}; /* 勝ち */
static CODE win1[] = {0x000b, 0x001b};
static CODE win2[] = {0x000c, 0x001c};
static CODE lose0[] = {0x000d, 0x001d}; /* 負け */
static CODE lose1[] = {0x000e, 0x001e};
static CODE lose2[] = {0x000f, 0x001f};
static CODE snow0[] = {0x0120}; /* 雪だるま */
static CODE snow1[] = {0x0121};
static CODE snow2[] = {0x0122};
static CODE snow3[] = {0x0123};
static CODE uki0[] = {0x0224}; /* うきうき */
static CODE uki1[] = {0x0225};
static CODE uki2[] = {0x0226};
static CODE uki3[] = {0x0227};
static CODE moya0[] = {0x0228}; /* もやもや */
static CODE moya1[] = {0x0229};
static CODE moya2[] = {0x022a};
static CODE moya3[] = {0x022b};
enum { WALK0 = 0, WALK1, WALK2,
BACK0, BACK1, BACK2, ROT1, ROT3, SMILE, WIN0, WIN1, WIN2, LOSE0, LOSE1, LOSE2,
SNOW0, SNOW1, SNOW2, SNOW3, UKI0, UKI1, UKI2, UKI3, MOYA0, MOYA1, MOYA2, MOYA3,
ROT0 = WALK1, ROT2 = BACK1,
PAT_END
};
static
CHR_PAT chr_pat[] = {
{1, 2, walk0_l, walk0_r}, /* 通常 */
{1, 2, walk1_l, walk1_r},
{1, 2, walk2_l, walk2_r},
{1, 2, walk0_r, walk0_l}, /* 登場 */
{1, 2, walk1_r, walk1_l},
{1, 2, walk2_r, walk2_l},
{1, 2, rot0, rot0}, /* 回転 */
{1, 2, rot2, rot2},
{1, 2, smile_l, smile_r}, /* 笑顔 */
{1, 2, win0, win0}, /* 勝ち */
{1, 2, win1, win1},
{1, 2, win2, win2},
{1, 2, lose0, lose0}, /* 負け */
{1, 2, lose1, lose1},
{1, 2, lose2, lose2},
{1, 1, snow0, snow0}, /* 雪だるま */
{1, 1, snow1, snow3},
{1, 1, snow2, snow2},
{1, 1, snow3, snow1},
{1, 1, uki0, uki0}, /* うきうき */
{1, 1, uki1, uki1},
{1, 1, uki2, uki2},
{1, 1, uki3, uki3},
{1, 1, moya0, moya0}, /* もやもや */
{1, 1, moya1, moya1},
{1, 1, moya2, moya2},
{1, 1, moya3, moya3}
};
#define V(n, dn, ddn, t) (int)((n)*65536.0),(int)((dn)*65536.0),(int)((ddn)*65536.0),t
/****************
シーケンス
****************/
static
int xy0[] = { V(0.0, 0.0, 0.0, SEQ_END)
};
/*** 通常 *******/
static
short normal_pat[] = {WALK0, 12, WALK1, 20, WALK0, 12, WALK2, 20, SEQ_LOOP};
/*** 防御 *******/
static
short guard_pat[] = {ROT1, 4, BACK0, SEQ_LOOP};
/*** くらい *******/
static
short damage_pat[] = {LOSE2, 48, WALK0, 3, WALK1, 6, WALK0, 3, WALK2, 6,
WALK0, 3, WALK1, 6, WALK0, 3, WALK2, 6, WALK0, 4, SEQ_END};
static
int damage_x[] = { V(0.0, -1.5, 1.5/8, 8), V(-6.0, 0.0, 0.0, 40),
V(-6.0, 6.0/40, 0.0, 40), V(0.0, 0.0, 0.0, SEQ_END)
};
/*** 登場 *******/
static
short ready_pat[] = {BACK0, 2, BACK1, 4, BACK0, 2, BACK2, 4, SEQ_LOOP};
static
int ready_x[] = { V(0.0, 0.6, -0.6*2/24, 24), V(0.0, -0.6, 0.6*2/24, 24),
V(0.0, 0.0, 0.0, SEQ_LOOP)
};
/*** 勝ち *******/
static
short win_pat[] = {WIN0, 8, WIN1, 16, WIN0, 8, WIN2, 16, SEQ_LOOP};
static
int win_y[] = { V(0.0, 0.05, 0.0, SEQ_END)
};
static
short uki_pat[] = {UKI0, 12, UKI1, 12, UKI2, 12, UKI3, 12, SEQ_LOOP};
static
int uki_x[] = { V(6.0, 0.0, 0.0, SEQ_END)
};
static
int uki_y[] = { V(-18.0, 0.05, 0.0, SEQ_END)
};
/*** 負け *******/
static
short lose_pat[] = {LOSE0, 12, LOSE1, 24, LOSE0, 12, LOSE2, 24, SEQ_LOOP};
static
int lose_y[] = { V(0.0, -0.05, 0.0, SEQ_END)
};
static
short moya_pat[] = {MOYA0, 8, MOYA1, 8, MOYA2, 8, MOYA3, 8, SEQ_LOOP};
static
int moya_y[] = { V(-14.0, -0.05, 0.0, SEQ_END)
};
/*** 体当たり *****/
static
short body1_pat[] = {WALK0, 2, WALK1, 4, WALK0, 2, WALK2, 4,
WALK0, 2, WALK1, 4, WALK0, 2, WALK2, 4,
ROT0, 4, ROT1, 4, ROT2, 4, ROT3, 4, SEQ_END};
static
int body1_x[] = { V(0.0, 1.0, 0.0, 24), V(24.0, 2.0, 0.0, 16),
V(56.0, 0.0, 0.0, SEQ_LOOP)
};
static
short body2_pat[] = {ROT0, 4, ROT1, 4, ROT2, 4, ROT3, 4, ROT0, 4, ROT1, 4,
ROT2, 5, ROT3, 6, ROT0, 7, ROT1, 8, ROT2, 16,
BACK0, 2, BACK1, 4, BACK0, 2, BACK2, 4,
BACK0, 2, BACK1, 4, BACK0, 3, BACK2, 5, BACK0, 6,
ROT2, 24, ROT3, 4, ROT0, 4,
SEQ_END};
static
int body2_x[] = { V(56.0, 2.0, -2.0/50, 50), V(106.0, 0.0, 0.0, 16),
V(106.0, 0.0, -106.0/32/32, 32),
V(53.0, -106.0/32, 106.0/32/32, 32),
V(0.0, 0.0, 0.0, SEQ_END)
};
/*** 雪だるま *******/
static
short jump1_pat[] = {WALK0, 2, WALK1, 4, WALK0, 2, WALK2, 4,
WALK0, 20 + 48, SEQ_END};
static
int jump1_y[] = { V(0.0, -2.5, 2.5*2/32, 32), V(0.0, 0.0, 0.0, SEQ_END)
};
static
short snow_pat[] = {NOPUT, 32,
SNOW0, 6, SNOW1, 6, SNOW2, 6, SNOW3, 6,
SNOW0, 6, SNOW1, 6, SNOW2, 6, SNOW3, 6, SEQ_END};
static
int snow_x[] = { V(0.0, 0.0, 0.0, 32), V(0.0, 64.0/48, 0.0, 48),
V(64.0, 0.0, 0.0, SEQ_END)
};
static
int snow_y[] = { V(0.0, 0.0, 0.0, 32), V(0.0, -5.5, 5.5*2/48, 48),
V(0.0, 0.0, 0.0, SEQ_END)
};
static
short smile_pat[] = {SMILE, 36, WALK0, 8, SMILE, 32, SEQ_END};
#define NUL3 {NULL, NULL, NULL}
/**********************
キャラクタデータ
**********************/
CHR_DATA chr_penguin = {
{3, 4, 8, /* 弱攻撃 */
"雪だるま",
{{snow_pat, snow_x, snow_y}, {jump1_pat, xy0, jump1_y}},
{{smile_pat, xy0, xy0}, NUL3}
},
{6, 5, 26, /* 強攻撃 */
"体当たり",
{{body1_pat, body1_x, xy0}, NUL3},
{{body2_pat, body2_x, xy0}, NUL3}
},
"くるみ", /* キャラクタ名 */
"PENGUIN", /* スプライトファイル名 */
{"PENGUIN1", "PENGUIN2"}, /* パレットファイル名 */
chr_pat, /* キャラクタパターン */
{ /* アニメーションシーケンス */
{{normal_pat, xy0, xy0}, NUL3}, /* 通常 */
{{guard_pat, xy0, xy0}, NUL3}, /* 防御 */
{{damage_pat, damage_x, xy0}, NUL3}, /* くらい */
{{ready_pat, ready_x, xy0}, NUL3}, /* 登場 */
{{win_pat, xy0, win_y}, /* 勝ち */
{uki_pat, uki_x, uki_y}},
{{lose_pat, xy0, lose_y}, /* 負け */
{moya_pat, xy0, moya_y}}
}
};
/********************** End of File *********************************************/